package com.linkgie.galaxyframework.runtime;

/**
 * 系统时钟；
 * 
 * @author spring
 *
 */
public interface Clock {

	/**
	 * 当前时间戳；
	 * <p>
	 * 
	 * 这是由实现者定义的时间刻度，不一定等同于系统的时间刻度（{@link System#currentTimeMillis()}），<br>
	 * 但实现者必须确保返回的时间刻度与系统时间刻度的正相关性；
	 * 
	 * @return
	 */
	long currentTimestamp(); 
	
//	/**
//	 * 时间戳的有效位数；<p>
//	 * 
//	 * 返回值在 1 ~ 64 之间，表示时间戳值在 64 位的 long 值中占用的位数；<p>
//	 * 
//	 * 有效位从低位开始排列，如果有效位数小于 64 ，则高位是无效位；
//	 * 
//	 * @return
//	 */
//	int timestampBits();
}
